package com.ljy.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ljy.mapper.AppMapper;
import com.ljy.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public class AppServiceIMP implements AppService {

    //service调用dao层 组合
    private AppMapper mapper;

    /**
     * 添加一个set方法 AppMapper
     *
     * @param mapper
     */
    public void setMapper(AppMapper mapper) {
        this.mapper = mapper;
    }

    /***
     * APP开发者平台 登录
     * @param devCode
     * @param devPassword
     * @return
     */
    public Dev_user queryLogin(String devCode, String devPassword) {
        return mapper.queryLogin(devCode, devPassword);
    }

    /**
     * APP状态
     *
     * @return
     */
    public List<Data_dictionary> appState() {
        return mapper.appState();
    }


    /**
     * 所属平台
     *
     * @return
     */
    public List<Data_dictionary> Their() {
        return mapper.Their();
    }

    /**
     * 二级分类
     *
     * @return
     */
    public List<App_category> classify(int id) {
        return mapper.classify(id);
    }

    /**
     * 查询所有app信息
     *
     * @return
     */
    public List<App_info> queryByAppinfoAll(App_info appInfo) {
        return mapper.queryByAppinfoAll(appInfo);
    }

    /**
     * 分页
     *
     * @param appInfo  条件
     * @param pageNum  当前页码
     * @param pageSize 每页行数
     * @return
     */
    public PageInfo<App_info> findPage(App_info appInfo, int pageNum, int pageSize) {
        return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> {
            mapper.queryByAppinfoAll(appInfo);
        });
    }


    /**
     * 查询所属平台
     *
     * @param typeCode
     * @return
     */
    public List<Data_dictionary> queryByPlatform(String typeCode) {
        return mapper.queryByPlatform(typeCode);
    }

    /**
     * 新增app基本信息
     *
     * @param appInfo
     * @return
     */
    public int add(App_info appInfo) {
        return mapper.add(appInfo);
    }

    /**
     * 查询APK是否存在
     *
     * @param APKName
     * @return
     */
    public Map queryByAPK(String APKName) {
        return mapper.queryByAPK(APKName);
    }

    /**
     * 根据编号查询当前app版本信息
     *
     * @param
     * @return
     */
    public List queryByVersion(Integer id) {
        return mapper.queryByVersion(id);
    }

    /**
     * 添加 版本
     *
     * @param appVersion
     * @return
     */
    public int addByApp_version(App_version appVersion) {
        return mapper.addByApp_version(appVersion);
    }

    /**
     * 修改最新版本
     *
     * @param id
     * @return
     */
    public int updataByVersionId(Integer valueName, Integer id) {
        return mapper.updataByVersionId(valueName, id);
    }

    /**
     * 根据编号查询
     *
     * @param id
     * @return
     */
    public Map queryByAppinfo(Integer id) {
        return mapper.queryByAppinfo(id);
    }

    /**
     * 根据app编号和最新版本编号查询
     *
     * @return
     */
    public Map queryApp_versionById(Integer versionid, Integer appinfoid) {
        return mapper.queryApp_versionById(versionid, appinfoid);
    }

    /**
     * 修改最新版本信息
     *
     * @param appVersion
     * @return
     */
    public int updataByApp_version(App_version appVersion) {
        return mapper.updataByApp_version(appVersion);
    }


    /**
     * 修改最新版本信息
     *
     * @param appVersion
     * @return
     */
    public int updataByApp_version2(App_version appVersion) {
        return mapper.updataByApp_version2(appVersion);
    }

    /**
     * 根据编号修改文件地址以及文件名为空
     *
     * @param id
     * @return
     */
    public int updataFile(Integer id) {
        return mapper.updataFile(id);
    }

    /**
     * 数据编号删除LOGO图片
     *
     * @param id
     * @return
     */
    public int dataLOGO(Integer id) {
        return mapper.dataLOGO(id);
    }

    /**
     * 根据编号查询 返回值为对象
     *
     * @param
     * @return
     */
    public App_version queryByID(Integer id) {
        return mapper.queryByID(id);
    }

    /**
     * 根据app信息编号查询
     *
     * @param
     * @return
     */
    public Map queryApp_infoById(Integer id) {
        return mapper.queryApp_infoById(id);
    }

    /**
     * 修改app信息
     *
     * @param appInfo
     * @return
     */
    public int updataApp_infoById(App_info appInfo) {
        return mapper.updataApp_infoById(appInfo);
    }

    /**
     * 修改app信息
     *
     * @param appInfo
     * @return
     */
    public int updataApp_infoById2(App_info appInfo) {
        return mapper.updataApp_infoById2(appInfo);
    }

    /**
     * 根据app信息编号查询
     *
     * @param id
     * @return
     */
    public App_info queryByApp_infoAllById(int id) {
        return mapper.queryByApp_infoAllById(id);
    }

    /**
     * 删除app信息
     *
     * @param id
     * @return
     */
    public int deleteByApp_info(Integer id) {
        return mapper.deleteByApp_info(id);
    }

    /**
     * 修改app状态
     *
     * @param
     * @return
     */
    public int updataByStatus(Integer status, Integer id) {
        return mapper.updataByStatus(status, id);
    }


}
